package com.ssy.lingxi.pay.api.dto.request.eAccount;

import lombok.Data;

import javax.validation.Valid;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.PositiveOrZero;
import java.io.Serializable;
import java.util.List;

/**
 * e账号收款方实体
 * @author jw.chen
 * @version 2.0.0
 * @date 2021/12/9
 */
@Data
public class StoreRefundReceiveRequest implements Serializable {
    private static final long serialVersionUID = -1885613920777780158L;

    /**
     * 相关代收交易的“商户订单号”(对应支付时的子单号)
     */
    @NotEmpty(message = "订单号不能为空")
    private String bizOrderNo;

    /**
     * 支付金额(对应支付时的子单号的支付金额)
     */
    @NotNull(message = "金额要大于等于0")
    @PositiveOrZero(message = "金额要大于等于0")
    private Double payMoney;

    /**
     * 分账退款对应会员列表
     */
    @Valid
    @NotNull(message = "分账退款对应会员列表不能为空")
    private List<StoreRefundReceiveMemberRequest> storeRefundReceiveMemberList;

    /**
     * 分账退款总金额
     */
    @NotNull(message = "分账退款总金额要大于等于0")
    @PositiveOrZero(message = "分账退款总金额要大于等于0")
    private Double totalSplitAmount;
}
